﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TA.Turbo.Controls
{
	/// <summary>
	/// Event that can be raised on the server side.
	/// </summary>
	/// <typeparam name="T">Event arguments.</typeparam>
	public interface IServerEvent<T>
		where T : EventArgs
	{
		/// <summary>
		/// Event delegate.
		/// </summary>
		event EventHandler<T> Server;
		/// <summary>
		/// Raises the event.
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		void Raise(object sender, T e);
		/// <summary>
		/// Returns true if delegate has any methods added.
		/// </summary>
		bool Active { get; }
	}
}
